﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using ProjetoDLL;
using ProjetoDLL.Model;
using ProjetoDLL.BLL;
namespace ProjetoWebsite
{
    public partial class VisualizarCarrinho : System.Web.UI.Page
    {
        private double precoTotal = 0.0;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["usuario"] == null)
            { Response.Redirect("Default.aspx"); }

             if(!IsPostBack){
                 carregarCarrinho();       
             }
        }

        public void carregarCarrinho() {

            CarrinhoDeCompras carrinho = (CarrinhoDeCompras)Session["carrinhoCompras"];
            DataTable dt = new DataTable();
            dt.Columns.Add("Produto");
            dt.Columns.Add("Quantidade");
            dt.Columns.Add("Preço Unitário");
            dt.Columns.Add("Preço Total"); 

            if (carrinho == null)
            {

                Session["carrinhoCompras"] = new CarrinhoDeCompras();

                dt.Rows.Add(new string[] {"","Você não possui nenhum item em seu carrinho.","","",""});
            }
            else
            {

                foreach (ItemCarrinho item in carrinho.produtos)
                {
                    this.precoTotal += item.quantidade * item.produto.Valor;
                    dt.Rows.Add(new string[] {item.produto.Nome, item.quantidade.ToString(), item.produto.Valor.ToString(), (item.quantidade * item.produto.Valor).ToString() });
                }
                carrinho.valorTotal = precoTotal;
                Session["carrinhoCompras"] = carrinho;

            }
            tblCarrinho.DataSource = dt;
            tblCarrinho.DataBind();
            lblTotal.Text = "TOTAL:R$ " + this.precoTotal.ToString();
        }

        protected void btnFinalizarCompra_Click(object sender, EventArgs e)
        {
            CarrinhoDeCompras carrinho = (CarrinhoDeCompras)Session["carrinhoCompras"];
            Usuario u = OperacoesUsuario.autenticar(Session["email"].ToString(),Session["senha"].ToString());
            if (OperacoesPedido.efetuarPedido(u, (CarrinhoDeCompras)Session["carrinhoCompras"], carrinho.valorTotal))
            {
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"mensagemAlerta","<script>alert('Pedido efetuado com sucesso!');</script>");
            }
            else
            {
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "mensagemAlerta", "<script>alert('Houve um erro no seu pedido!Revise a quantidade de Itens.');</script>");
            }
        }
    }
}